package com.topten.negocio;

import java.util.List;

import com.topten.basicas.comum.Situacao;
import com.topten.basicas.varejo.Categoria;
import com.topten.dao.especificos.DAOCategoria;
import com.topten.dao.especificos.IDAOCategoria;

public class NegocioCategoria {

	/*private IDAOCategoria categoriaDAO;
	
	public NegocioCategoria(){
		this.categoriaDAO = new DAOCategoria();
	}
	
	public void inserir(Categoria categoria){
		this.categoriaDAO.inserir(categoria);
	}
	public void alterar(Categoria categoria){
		this.categoriaDAO.alterar(categoria);
	}
	public void remover(Categoria categoria){
		this.categoriaDAO.remover(categoria);
	}
	public Categoria buscarPorId(Integer id){
		return this.categoriaDAO.consultarPorId(id);
	}
	public List<Categoria> listarTodos(){
		return this.categoriaDAO.consultarTodos();
	}*/
	
private IDAOCategoria categoriaDAO;
	
	public NegocioCategoria(){
		this.categoriaDAO = new DAOCategoria();
	}
	
	
	public void inserir(Categoria categoria) {
		if(verificarDescricao(categoria)){
		this.categoriaDAO.inserir(categoria);
		}
	}
		
	
	public void alterar(Categoria categoria){
		this.categoriaDAO.alterar(categoria);
	}
	public void remover(Categoria categoria){
		this.categoriaDAO.remover(categoria);
	}
	public Categoria buscarPorId(Integer id){
		return this.categoriaDAO.consultarPorId(id);
	}
	public List<Categoria> listarTodos(){
		return this.categoriaDAO.consultarTodos();
	}
	public List<Categoria> listarCategoriasAtivas(Enum<Situacao> situacao){
		return this.categoriaDAO.listarCategoriasAtivas(situacao);
	}
	
	
	public boolean verificarDescricao(Categoria categoria){
	boolean retorno = true;
     List<Categoria> listadescricao = this.categoriaDAO.listarCategoriaPorDescricao(categoria.getDescricao());
	if(listadescricao.size()>0){
		retorno = false;
	}
		return retorno;
	}
	
	
	
}
